// SCENARIO SCRIPT

// This is the special script for your entire scenario. It contains
// special encounters and code accessable from anywhere in the scenario. it also
// contains the code that initializes important special things in the
// scenario (like shops and names and descriptions of special items).

// You can create your own states, but you should give all of them numbers greater than
// or equal to 10.

beginscenarioscript;

variables;

body;

// This is the state that is called every time the scenario is loaded,
// even when a save file in the scenario is loaded. Some things that should go here:
//    Names and descriptions of special items.
//    Names and effects of custom special abilities.
beginstate LOAD_SCEN_STATE;

	init_quest(0,"Survey Valzakov Isle","The Empire has asked you to perform a survey of the Valzakov Isle. Unfortunately, you lost you maps and need to find the shore so that you can relocate yourself.");
	init_quest(1,"Read Arivan's Journal","Klinger, a Nephil imprisoned in Vikida, has asked you to break into the chamber of Arivan, the Nephil Leader, and read her journal to evaluate her future plans.");
	init_quest(2,"Help Klinger Reach Asmur","Arivan is preparing to launch a surprise attack upon the tribe of Asmur to the north. Their only hope is if they are warned prior to the assault.");
	init_quest(3,"Deliver Scrolls","Several scrolls have the history of the now purged tribe of Asmur. You have been told that the resistance may find them useful in fighting Arivan.");
	init_quest(4,"Explore Lost City","Rumors speak of a secret power located in a legendary lost Nephilim city. The resistance requires this to turn the tide against Vikida.");
	init_quest(5,"Get Ruby","Verona in the Isolated Hut in the eastern part of the forest asked you to find a ruby so she can complete a recipe for a magical ring she discovered.");

	break;

// This is the state that is called only once at the very beginning of 
// the scenario. Some things that should go here:
//    The stuff in shops.
//    Creating horses and boats.

beginstate START_SCEN_STATE;

	// Initialize a few shops.
	
	// Shop 0 - armor
	add_item_to_shop(0,25,25);
	add_item_to_shop(0,26,20);
	add_item_to_shop(0,30,20);
	add_item_to_shop(0,31,10);
	add_item_to_shop(0,121,15);
	add_item_to_shop(0,122,15);
	add_item_to_shop(0,126,3);
	add_item_to_shop(0,131,2);
	add_item_to_shop(0,111,15);
	add_item_to_shop(0,16,10);
	add_item_to_shop(0,136,10);
	add_item_to_shop(0,137,10);
	add_item_to_shop(0,141,5);
	
	// Shop 1 - weapons
	add_item_to_shop(1,45,25);
	add_item_to_shop(1,46,20);
	add_item_to_shop(1,50,15);
	add_item_to_shop(1,51,10);
	add_item_to_shop(1,55,5);
	add_item_to_shop(1,65,20);
	add_item_to_shop(1,66,10);
	add_item_to_shop(1,70,5);
	
	// Shop 2 - tools
	add_item_to_shop(2,170,500);
	add_item_to_shop(2,171,500);
	add_item_to_shop(2,172,30);
	add_item_to_shop(2,174,500);
	add_item_to_shop(2,177,500);
	
	// Shop 3 - missiles
	add_item_to_shop(3,85,500);
	add_item_to_shop(3,86,10);
	add_item_to_shop(3,90,10);
	add_item_to_shop(3,95,3);
	add_item_to_shop(3,100,20);
	add_item_to_shop(3,101,10);
	add_item_to_shop(3,105,10);

	// Shop 4 - potions
	add_item_to_shop(4,220,4);
	add_item_to_shop(4,221,3);
	add_item_to_shop(4,222,3);
	add_item_to_shop(4,223,2);

	// Shop 5 - food
	add_item_to_shop(5,5,500);
	add_item_to_shop(5,8,500);
	add_item_to_shop(5,11,500);

	// Shop 6 - outdoor shop
	add_item_to_shop(6,30,1);
	add_item_to_shop(6,66,1);
	add_item_to_shop(6,90,1);
	add_item_to_shop(6,121,1);
	add_item_to_shop(6,174,1);
	add_item_to_shop(6,205,1);
	add_item_to_shop(6,222,1);
	add_item_to_shop(6,258,1);
	add_item_to_shop(6,406,1);

 // Shop 7 - outdoor shop
	add_item_to_shop(7,5,500);
	add_item_to_shop(7,214,4);
	add_item_to_shop(7,215,2);
	add_item_to_shop(7,26,1);
	add_item_to_shop(7,51,1);
	add_item_to_shop(7,91,1);
	add_item_to_shop(7,174,4);
	add_item_to_shop(7,220,5);
	add_item_to_shop(7,223,2);

	// Shop 8 - Olander
	add_item_to_shop(8,2000,2);
	add_item_to_shop(8,2001,2);
	add_item_to_shop(8,2002,2);
	add_item_to_shop(8,2003,2);
	add_item_to_shop(8,2004,2);
	add_item_to_shop(8,2005,2);
	add_item_to_shop(8,2006,2);
	add_item_to_shop(8,3000,2);
	add_item_to_shop(8,3001,2);
	add_item_to_shop(8,3002,2);
	add_item_to_shop(8,3003,2);
	add_item_to_shop(8,3004,2);
	add_item_to_shop(8,3005,2);
	add_item_to_shop(8,3006,2);

	// Shop 9 - Verona Recipes
	add_item_to_shop(9,4000,0);
	add_item_to_shop(9,4001,0);
	add_item_to_shop(9,4002,0);
	add_item_to_shop(9,4003,0);

	// Shop 10 - Verona Alchemicals
	add_item_to_shop(10,214,25);
	add_item_to_shop(10,215,10);
	add_item_to_shop(10,216,10);

 // Shop 11 - Asmur Forge
	add_item_to_shop(11,26,20);
	add_item_to_shop(11,30,20);
	add_item_to_shop(11,31,10);
	add_item_to_shop(11,122,15);
	add_item_to_shop(11,126,3);
	add_item_to_shop(11,137,10);
	add_item_to_shop(11,141,5);
	add_item_to_shop(11,46,20);
	add_item_to_shop(11,50,15);
	add_item_to_shop(11,51,10);
	add_item_to_shop(11,55,5);
	add_item_to_shop(11,65,20);
	add_item_to_shop(11,66,10);
	add_item_to_shop(11,70,5);

	// Shop 12 - Asmur Fletchery
	add_item_to_shop(12,85,500);
	add_item_to_shop(12,86,10);
	add_item_to_shop(12,90,10);
	add_item_to_shop(12,91,1);
	add_item_to_shop(12,95,3);
	add_item_to_shop(12,100,20);
	add_item_to_shop(12,101,10);
	add_item_to_shop(12,105,10);
	add_item_to_shop(12,106,3);

// Shop 13 - Scrolls
	add_item_to_shop(13,244,10);
	add_item_to_shop(13,245,10);
	add_item_to_shop(13,247,5);
	add_item_to_shop(13,248,5);
	add_item_to_shop(13,246,1);

// Shop 14 - Nablar Supplies
	add_item_to_shop(14,27,1);
	add_item_to_shop(14,30,2);
	add_item_to_shop(14,31,2);
	add_item_to_shop(14,35,1);
	add_item_to_shop(14,46,2);
	add_item_to_shop(14,51,2);
	add_item_to_shop(14,55,1);
	add_item_to_shop(14,56,1);
	add_item_to_shop(14,127,1);
	add_item_to_shop(14,141,1);
	add_item_to_shop(14,220,8);
	add_item_to_shop(14,223,4);
	add_item_to_shop(14,327,4);


toggle_quest(0,1);
force_start_day(-1);

break;

// This state is called every tick wherever the party is in the scenario.
// You can use the set_state
beginstate START_STATE;

break;


beginstate 10;

if (get_species(who_is_custom_item_target()) == 8) {
 put_effect_on_char(who_is_custom_item_target(),9,6,1);
 put_straight_zap(char_loc_x(who_used_custom_item), char_loc_y(who_used_custom_item), char_loc_x(who_is_custom_item_target), char_loc_y(who_is_custom_item_target), 6);
 run_animation_sound(60);
 kill_char(who_is_custom_item_target(),2,0);
}
else
 print_str_color("Target is not undead.",3);

break;


beginstate 11;

if (get_sdf(4,15) == 0)
 message_dialog("This shiny amulet has a rune etched in the back. It is a golden triangle with a circle around each corner. They are colored red, green, and blue.","");
else {
 set_terrain(16,16,268);
 put_boom_on_space(16,16,2,0);
 force_instant_terrain_redraw();
 run_animation_sound(24);
 pause(5);
 message_dialog("On a hunch you get out the amulet you found. You notice that the rune patterns match precisely! You hold the amulet up to the rune on the platform and it glows a bright, blinding white.","The rune forms into a magical gate, a teleporter! You wonder where it will take you.");
}

break;